package JavaEnum;


/**
 * 在 Java 5.0 后，可以使用eunm关键字来定义一个枚举类，比较便捷，推荐大家使用这个方法来定义枚举类。
 * 1.使用enum关键字定义枚举类，这个类隐式继承自java.lang.Enum类；
 * 2.在枚举类内部，提供当前枚举类的多个对象，多个对象之间使用逗号分割，最后一个对象使用分号结尾；
 * 3.声明枚举类的属性和构造方法，在构造方法中为属性赋值；
 * 4.提供 getter 方法，由于Enum类重写了 toString()方法，因此一般不需要我们自己来重写。
 */

public class EnumDemo2 {

    public static void main(String[] args) {
        Sex male = Sex.MALE;
        // 打印 Sex 对象
        System.out.println(male);
        // 打印getter方法的值
        System.out.println(male.getSexName());
        System.out.println(Sex.FEMALE.getSexName());
        System.out.println(Sex.UNKNOWN.getSexName());
    }
}

/**
 * 使用enum 关键字定义枚举类, 默认继承enum 类
 */
enum Sex {
    // 1.提供当前枚举类的多个对象, 多个对象之间使用逗号分隔, 最后一个对象使用分号结尾
    MALE("男"), FEMALE("女"), UNKNOWN("保密");

    /**
     * 2.声明枚举类的属性
     */
    private final String sexName;

    /**
     * 3.编写构造方法, 为属性赋值
     */
    Sex(String sexName) {
        this.sexName = sexName;
    }

    /**
     * 4.提供getter
     */
    public String getSexName() {
        return sexName;
    }
}